home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / dev / c / c2local.lha / c2local / Example / Beispiel.dok next >
Text File  |  1995-06-30  |  2KB  |  94 lines

  1.  
  2. Als Beispiel soll hier das bekannt Hello-World Programm lokalisiert werden.
  3. Dabei soll der Text "This is a short text!" durch den Text
  4. "Dies ist ein langer Text, der eine neue Maximallänge erfordert." ersetzt
  5. werden.
  6.  
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10.  
  11.  
  12. char *p="This is a short text!";
  13.  
  14. main()
  15. {
  16.    puts("Hello world!");
  17.    puts(p);
  18. }
  19.  
  20.  
  21. Dazu muß man zuerst einmal InitStrings() in die main-Routine einbauen.
  22. Damit dieser Sourcecode auch noch normal compiliert werden kann fügt man
  23. es am besten mit #ifdef und #endif geklammert ein.
  24.  
  25. #include <stdio.h>
  26. #include <stdlib.h>
  27.  
  28. char *p="This is a short text";
  29.  
  30. main()
  31. {
  32. #ifdef __LOCALIZED
  33.    InitStrings();
  34. #endif
  35.    puts("Hello world!");
  36.    puts(p);
  37. }
  38.  
  39. Nun läßt man den Sourcecode patchen:
  40. c2local patch hello.c name hello
  41.  
  42.  
  43. Da die Länge des deutschen Textes in *p länger als die automatisch
  44. reservierte Länge ist, muß man das Stringfile editieren:
  45.  
  46. ed hello_locale.str:
  47.  
  48. msg_0 "This is a short text!" 63
  49.  
  50.  
  51. Nun compiliert man das Stringfile:
  52.  
  53. c2local compile name hello version 1 catalog hello.catalog
  54.  
  55.  
  56. Jetzt kann man das lokalisierte Programm compilieren:
  57.  
  58. cd localized
  59. sc #?.c link
  60.  
  61. Danach erstellt man die deutsche Übersetzung (nicht vergessen die Sprache
  62. "## language deutsch" einzustellen):
  63.  
  64. copy hello_locale.ct hello_deutsch.ct
  65. ed hello_deutsch.ct
  66.  
  67.  
  68. Und daraus erzeugt man den Katalog, nachdem man die passenden Katalog-
  69. Verzeichnisse angelegt hat.
  70.  
  71. makedir catalogs
  72. makedir catalogs/deutsch
  73.  
  74. ccomp hello_locale.cd hello_deutsch.ct catalogs/deutsch/hello.catalog
  75.  
  76. Das war schon alles. (Genau dies wird auch durch das makelocal-script
  77. ausgeführt.
  78.  
  79.  
  80.  
  81. Falls das Programm nun trotz Einstellung der Sprache deutsch keine deutschen
  82. Strings verwendet:
  83.  
  84. - befindet sich der Katalog im richtigen Verzeichnis ?
  85. - stimmt der Name des Katalogs ?
  86. - stimmt die Version des Katalogs ?
  87. - ist im .ct-file die Sprache eingetragen, Tippfehler ?
  88. - ist noch ein alter Katalog im Speicher (evtl. "avail flush") ?
  89.  
  90.  
  91.  
  92.  
  93.  
  94.